package linkedlist;

/**
 * @author zhaoziqiang
 * @Description: 删除链表中等于给定值 val 的所有节点。（递归）
 * <p>
 * 示例:
 * <p>
 * 输入:( dummyHead->) 1->2->6->3->4->5->6, val = 6
 * 输出: 1->2->3->4->5
 * @date 2020/8/31 15:33
 */
public class Solution3 {
    public  ListNode removeElements(ListNode head, int val) {
        if(head==null)
            return head;
        head.next = removeElements(head.next, val);
        return head.val==val?head.next:head;
    }

    public static void main(String[] args) {
        int[] arr=new int[]{1,2,6,3,4,6,7,6,9};
        ListNode listNode = new ListNode(arr);
        System.out.println(listNode);
        ListNode listNode1 =new  Solution3().removeElements(listNode, 6);
        System.out.println(listNode1);
    }
}
